package codingforgreat.class03;

import com.sun.org.apache.xpath.internal.WhitespaceStrippingElementMatcher;

import java.util.Arrays;

// 给定一个正数数组arr，代表若干人的体重
// 再给定一个正数limit，表示所有船共同拥有的载重量
// 每艘船最多坐两人，且不能超过载重
// 想让所有的人同时过河，并且用最好的分配方法让船尽量少
// 返回最少的船数
// 测试链接 : https://leetcode.com/problems/boats-to-save-people/
public class Class05_BoatsToSavePeople {
    public static int numRescueBoats2(int[] people, int limit) {
        Arrays.sort(people);
        int L = 0;
        int R = people.length - 1;
        int sum = 0;
        int ans = 0;
        while (L <= R){
            sum = L == R ? people[L] : people[L] + people[R];
            if(sum > limit){
                R--;
            }else{
                L++;
                R--;
            }
            ans++;
        }
        return ans;
    }
}
